package cn.xyinping.hrm.exception;

import cn.xyinping.hrm.constans.ErrorCode;
import cn.xyinping.hrm.util.AjaxResult;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * @author 27266
 * @desrciption 抽取全局异常处理
 * @date 2021/11/23
 */
// (1)@RestControllerAdvice  对RestController增强，使用了该注解的方法，可以在他controller执行前后做一些事情
@RestControllerAdvice
public class MyExceptionHander {
    // controller执行，出现异常后捕获和处理异常
    // ②ExceptionHander  处理value指向的异常
    @ExceptionHandler(value = MyException.class)
    public AjaxResult globalExceptionHander(MyException e){
        e.printStackTrace();
        return AjaxResult.me().setSuccess(false).setMessage(e.getMessage());
    }

    @ExceptionHandler(value = Exception.class)
    public AjaxResult exceptionHander(Exception e){
        e.printStackTrace();
        return AjaxResult.me().setSuccess(false).setMessage(ErrorCode.SYSTEM_INNER_ERROR.getFullMessage());
    }

}
